#include <logbase.h>
// sizeof()
// 他是获取变量、类型、数组等占用连续内存的大小。
// 基础变量、结构体、数组。他们定义时，均会分配连续空间给他们。
// 指针变量，变量的4/8个字节是连续的，但他指向的内存就跳转了。
typedef struct
{
    int a;
    char b;
} mychkstct;
#define chkStrData "123456"
int main(int argc, char **argv)
{
    const char *tmpstr1 = chkStrData;
    char tmpstr2[] = chkStrData;
    char tmpstr3[128] = chkStrData;
    mychkstct tmpstct;
    logdebugc("%d", (int)sizeof(int));//获得类型大小
    logdebugc("%d", (int)sizeof(tmpstr1));// 指针变/常量大小为long的大小。随系统变化
    logdebugc("%d", (int)sizeof(chkStrData));// 字符串大小。
    logdebugc("%d", (int)strlen(chkStrData));// 字符串大小。
    logdebugc("%d", (int)sizeof(tmpstr2));// 可变长度的字符串sizeof大小包含了结束符\0
    logdebugc("%d", (int)sizeof(tmpstr3));// 固定长度字符串数组长度也固定。
    logdebugc("%d", (int)sizeof(mychkstct));// 复合类型大小和基础类型一致。
    logdebugc("%d", (int)sizeof(tmpstct));// 结构体变量大小和结构体大小一致。基础类型变量大小也和基础类型大小一致。
    return 1;
}



